<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>formData的使用</title>
  </head>

  <body>
    <!-- 创建普通的html表单 -->
    <form action="" id="form">
      <p>姓名:<input type="text" name="username"></p>
      <p>密码:<input type="text" name="password"></p>
      <p><input type="button" value="提交" id="btn"></p>
    </form>
  </body>
  <script>
    // 使用formData的方式获取表单
    let btn = document.querySelector("#btn");
    let form = document.querySelector("#form");
    btn.onclick = () => {
      let formData = new FormData(form);
      /* 
      1.获取表单对象中属性的值:formData.get(key)
      2.删除表单对象中的属性的值:formData.delete(key)
      3.设置表单对象中的属性的值:formData.set(key,value)
      4.向表单中对象中添加属性值；formData.append(key,value);
        注意：set 方法与 append 方法的区别是，在属性名已存在的情况下，set 会覆盖已有键名的值，append会保留两个值。
      
        */
      // formData.delete(password);
      // formData.set("username", "Jason");
      formData.set('sex', 'female');
      formData.append("username", "Jason");

      console.log(formData.get("username"));
      // 发送ajax请求
      let xhr = new XMLHttpRequest();
      xhr.open('post', "http://127.0.0.1:3000/formData");
      xhr.send(formData);
      xhr.onload = () => {
        if (xhr.status == 200) {
          console.log(xhr.responseText);
        }
      }
    }
  </script>

</html>